package cn.xscrum.vtsp.service.impl;


import cn.xscrum.vtsp.mapper.VtspVolunteerStatisticMapper;
import cn.xscrum.vtsp.service.IVtspVolunteerStatisticService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 志愿者信息统计分析Service业务层处理
 *
 * @author wfs
 * @date 2021-10-05
 */
@Service
public class VtspVolunteerStatisticServiceImpl implements IVtspVolunteerStatisticService {

    @Autowired
    private VtspVolunteerStatisticMapper volunteerStatisticMapper;

    /**
     * 志愿者所在学院的分布
     *
     * @return 各个学院及其对应志愿者人数的集合
     */
    @Override
    public List<Map<String, Object>> getVolunteerCollegeDistribution() {
        return volunteerStatisticMapper.getVolunteerCollegeDistribution();
    }

    /**
     * 志愿者所在地的分布
     *
     * @return  各个国家id及其对应志愿者人数的集合
     */
    @Override
    public List<Map<String, Object>> getVolunteerLocalDistribution() {
        return volunteerStatisticMapper.getVolunteerLocalDistribution();
    }

    /**
     * 通过地区id获取对用的地区名称
     *
     * @param areasId 国家id
     * @return  地区名称
     */
    @Override
    public String getCountryName(Integer areasId) {
        return volunteerStatisticMapper.getCountryName(areasId);
    }

    /**
     * 志愿者学历分布情况
     *
     * @return 各个学历等级及其对应的志愿者人数的集合
     */
    @Override
    public List<Map<String, Object>> getVolunteerDegreeDistribution()
    {

        return volunteerStatisticMapper.getVolunteerDegreeDistribution();
    }

    /**
     * 每年志愿者增加的人数
     *
     * @return  各个年份志愿者增加人数的集合
     */
    @Override
    public List<Map<String, Object>> getVolunteerGrowthTrend()
    {
        return volunteerStatisticMapper.getVolunteerGrowthTrend();
    }

    /**
     * 获取被列入黑名单人数
     *
     * @return  黑名单人数
     */
    @Override
    public Integer getBlacklist()
    {
        return volunteerStatisticMapper.getBlacklist();
    }

    /**
     * 获取志愿者历届生分布（应届生、往届生）
     *
     * @return  志愿者历届生（应届生、往届生）及其对应人数的集合
     */
    @Override
    public List<Map<String,Object>> getAllPreviousBirthDistribution()
    {
        return volunteerStatisticMapper.getAllPreviousBirthDistribution();
    }
}
